﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Entidades1;
using MySql.Data.MySqlClient;
using System.Data;

namespace SisVetDAO
{
    class MySqlHistoriaClinicaDAO: IHistoriaClinicaDAO
    {

        public string s;
        MySqlConnection conector = new MySqlConnection();
        string connectionString;

        public MySqlHistoriaClinicaDAO() {

        }

        public void iniciarConexion()
        {
            try
            {
                connectionString = "Server=localhost;Database=prueba;Uid=root;";
                conector.ConnectionString = connectionString;
                conector.Open();
                s = "La conexion se ha realizado con exito";

            }
            catch (Exception ex)
            {
                s = ex.Message;
            }

        }

        public void Conectar()
        {
            iniciarConexion();
        }

        public void Desconectar()
        {
            conector.Close();
        }

        public void SetConexion(System.Data.IDbConnection conexion)
        {
            conector = (MySqlConnection)conexion;
        }

        public void Insertar(HistoriaClinica h)
        {
            MySqlCommand cmd = conector.CreateCommand();
            cmd.CommandText = "insert into historiaclinica(codigoh, idmascota, idveterinario, fecha, idservicio) Values(?CodigoH,?IdMascota,?IdVeterinario,?Fecha,?IdServicio)";
            cmd.Parameters.AddWithValue("?CodigoH", h.codigoH);
            cmd.Parameters.AddWithValue("?IdMascota", h.idMascota);
            cmd.Parameters.AddWithValue("?IdVeterinario", h.idVeterinario);
            cmd.Parameters.AddWithValue("?Fecha", h.fecha);
            cmd.Parameters.AddWithValue("?IdServicio", h.idServicio);
            cmd.ExecuteNonQuery();
        }

        public List<HistoriaClinica> getTodos()
        {
            List<HistoriaClinica> lst = new List<HistoriaClinica>();
            MySqlCommand cmd = conector.CreateCommand();
            cmd.CommandText = "Select * From historiaclinica";
            MySqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                HistoriaClinica h = new HistoriaClinica();
                h.codigoH = reader["codigoH"].ToString();
                h.idMascota = reader["idMascota"].ToString();
                h.idVeterinario = reader["idVeterinario"].ToString();
                h.fecha = reader["fecha"].ToString();
                h.idServicio = reader["idServicio"].ToString();
                lst.Add(h);
            }
            return lst;
        }

        public void actualizar(HistoriaClinica h)
        {
            MySqlCommand cmd = conector.CreateCommand();
            cmd.CommandText = "UPDATE historiaclinica SET  idmascota=?IdMascota, telefono=?IdVeterinario, direccion=?Fecha, email=?idServicio WHERE cedula=?CodigoH;";
            cmd.Parameters.AddWithValue("?CodigoH", h.codigoH);
            cmd.Parameters.AddWithValue("?IdMascota", h.idMascota);
            cmd.Parameters.AddWithValue("?IdVeterinario", h.idVeterinario);
            cmd.Parameters.AddWithValue("?Fecha", h.fecha);
            cmd.Parameters.AddWithValue("?idServicio", h.idServicio);
            cmd.ExecuteNonQuery(); 
        }
    }
}
